<?php

namespace Sisesporte\Repository;

use Doctrine\ORM\EntityRepository;
use Sisesporte\Constant\TipoSituacaoTurmaConstant;

class TurmaRepository extends EntityRepository {
    
    public function fetchPairs() {
        $entities = $this->findAll();
        $array = array();
        
        foreach($entities as $entity) {
            $array[$entity->getSqTurma()] = $entity->getCoTurma();            
        }
        
        asort($array);
        return $array;
    }
    
    public function getTurmaAbertaByModalidade($sqModalidade) {   
//        var_dump($sqModalidade);
        $queryBase = $this->createQueryBuilder('T');
        $query = $queryBase->select('T, MP, M, ST')
                ->innerJoin('T.sqModalidadeProfessor', 'MP')
                ->innerJoin('MP.sqModalidade', 'M')
                ->innerJoin('T.sqSituacaoTurma', 'ST')
                ->andWhere('M.sqModalidade = :sqModalidade')
                ->setParameter(':sqModalidade', $sqModalidade)
                ->andWhere('ST.sqSituacaoTurma = :sqSituacaoTurma')
                ->setParameter(':sqSituacaoTurma', TipoSituacaoTurmaConstant::ABERTO );
        return $query->getQuery()->getResult();
    }
}
